Internet: casgrain@ere.umontreal.ca and http://alize.ere.umontreal.ca/~casgrain/
Ever wonder if you could place your icons better in your window?
Ever get tired of simply viewing "by name" or "by label"?
Ever wonder if you could combine these two properties (or more) ?
Take the guesswork out of this chore! This combination AppleScript/Application uses a standard Principal Components Analysis algorithm to re-arrange (plot, really) your icons in a scientifically accurate fashion, according to up to seven properties of the files and folders inside a given folder. To use, simply drop a file or folder on the PCA Icon Arranger icon.
I f you want less properties, open the Applescript and edit the source code. Currently it uses the following properties: creation date, id, kind, label index, modification date, physical size, and first letter of name.
The algorithm is actually a standardization of the real data — to account partially for the heterogeneity in dimensionality between, say the labels (0-7) and the size (0 to ... millions of bytes!) — followed by the computation of an Euclidean distance matrix and finally a Principal Coordinates Analysis on said matrix. Coordinates in the PCo space are then scaled to the window's rectangle and read by the AppleScript, who instructs the Finder to move the icons.
Important! Although scientifically sound, this program is not recommended for “real” work. In this case, please check out “The R Package for multidimensional and spatial analysis”, available free at the above URL.
Notes:
This code contains minimal to no error checking and may crash at any time.
The application was debugged in Think Pascal, the final build in Codewarrior Pro 3. Debugging is just sooo much faster in Think. If you look at the source code you will have an idea on how to achieve this integration. I especially like the CW Project's multiple targets and dependencies.
I used my modified version of the TransSkel framework to get this application off the ground. Thanks to Ingemar Ragnemalm for making the TransSkel package PowerPC-compatible.